草庐IT

C++ std::regex 多行语法

全部标签

c++ - std::string 连接的运行时依赖

std::stringsAttr("");sAttr=sAttr+VAL_TAG_OPEN+sVal->c_str()+VAL_TAG_CLOSE;我定义的代码中的其他地方constcharVAL_TAG_OPEN[]="";sVal是一个从字符串指针数组中检索的变量。这在大多数系统、windows和linux中都可以正常工作。然而,在一个客户站点,我相信有一个我们已经进行了广泛测试的linux版本,产生的结果就好像我从未使用过VAL_TAG_OPEN和VAL_TAG_CLOSE。我收到的结果是为了sAttr=sAttr+sVal->c_str();发生了什么事?std::string

c++ - Visual Studio 2008,错误 c2039 : 'set_new_handler' : is not a member of 'std'

所以前几天我去编译我正在处理的VC++项目,突然间我几乎所有的文件都出现错误:new.h:errorC2039:'set_new_handler':isnotamemberof'stdnew.h:errorC2039:'set_new_handelr':symbolcannotbeusedinausing-declaration“new.h”和“set_new_handler”没有在我的任何文件中使用,所以我不知道这些错误是如何或为什么突然出现的,因为它们与windows/VS库文件有关。谁知道我可以做些什么来清除这个错误并重新编译我的代码?更新在检查编译时包含的文件后,有些文件包含,

windows - 使用批处理脚本从文本文件中删除多行字符串

我正在尝试创建一个批处理文件,该文件将编辑一个文本文件以删除包含特定字符串的行并之后直接删除该行。此文件的示例如下所示:LINEENTRYKEEP_1BLABLAENDLINEENTRYREMOVE_1FOOBARENDLINEENTRYREMOVE_2HELLOWORLDENDLINEENTRYKEEP_2CATDOGEND运行批处理脚本后,我需要包含新文件LINEENTRYKEEP_1BLABLAENDLINEENTRYKEEP_2CATDOGEND已删除任何包含REMOVE_的行,以及相应的“END”行。我尝试使用发现的技术here删除包含字符串的行,但似乎不可能包含诸如\r\n

c++ - 在 C++ 中创建多行文本框/文本字段,而不是 VC++

我想知道如何创建一个文本框来响应“输入”键并创建一个新行,就像我现在输入的字段一样。CreateWindow("edit",0,WS_CHILD|WS_VISIBLE|WS_BORDER,5,5,130,20,hwnd,(HMENU)1000,GetModuleHandle(NULL),NULL);这就是我目前所拥有的,但是当我创建它时,它是一个小条,当我按下“Enter”键时,它不会像段落那样跳到下一行。有任何想法吗?我使用的是C++而不是VC++或任何.net框架,我在Windows7上。谢谢。 最佳答案 您需要使用“ES_MU

windows - 从 "chinese Windows"发送 std::wstring 到 "arabic Windows"

我有一个套接字,我通过它发送序列化的std::wstring,例如,从中文版的Windows到使用阿拉伯语UI的Unix系统。我不明白我的Unix系统(或其他任何系统)如何知道这些std::wstring是中文的,我没有看到“代码页”(又名国家语言?)存储在std中::wstring,我是否必须将自己与可能的每个std::wstring的代码页相关联?我肯定错过了一些东西,因为这看起来是我们相互联系的世界中的一个基本问题......谢谢, 最佳答案 wstring的目的是允许整个Unicode字符集,包括中文和阿拉伯语以及人类已知的

windows - 使用 awk 将多行文件转换为 TSV

我正在使用Windows7和gawk3.1.3(通过UnxUtils)。我想打开这个输入(利物浦足球俱乐部的固定装置):Sunday,27November2011BarclaysPremierLeagueLiverpoolvManCity,16:00Tuesday,29November2011CarlingCupChelseavLiverpool,QF,19:45...放入制表符分隔的文件,例如:Sunday,27November2011BarclaysPremierLeagueLiverpoolvManCity,16:00Tuesday,29November2011CarlingCu

C++ 将数据从 std::string 复制到 std::wstring

假设我有一个std::string,但数据是用UTF-16编码的。我如何才能将该数据复制到std::wstring中,而根本不修改数据?此外,我不能只使用std::wstring,因为我正在在线检索文本文件并检查Content-Typeheader字段以确定编码。但是使用std::string来接收数据。 最佳答案 std::wstringPackUTF16(conststd::string&input){if(input.size()%2!=0)throwstd::invalid_argument("inputlengthmust

c++ - 按值传递 std::function<bool (int)>

我是想曝光typedefstd::functionFilter;这是的一部分#include这样用户就可以创建过滤器并将其传递到我的组件中进行处理。该要求要求处理不能在模板函数中完成。我知道在接口(interface)上使用STL不是一个好的做法,因为Filter类型的大小取决于STL实现。除了原始函数指针或由模板函数接收的仿函数,我还有哪些替代选择。 最佳答案 大小在这里不是很重要,但如果使用您的库的某个人使用不同的STL实现,那么您的代码将无法使用,那么另一种选择是什么?我将为此使用一个接口(interface)(纯虚拟类):s

regex - Windows 脚本 : list files not matching a pattern

在Windows7命令提示符下,我想列出名称不以abc开头的文件夹中的所有文件。我试过:forfiles/PC:\myFolder\/M^[abc]*/S/C"CMD/Cecho@file"我的错误在哪里?非常感谢。 最佳答案 查看forfiles/?:/MsearchmaskSearchesfilesaccordingtoasearchmask.Thedefaultsearchmaskis'*'.这强烈表明forfiles不支持正则表达式,只支持普通的Cmd/Windows通配符。在Windows7上,这可以在PowerShell

windows - 具有多行主体的循环

是否可以定义目录列表,例如“dir1”、“dir2”然后为每个目录执行一些操作,例如:xcopyC:\test\*.dllD:\%%le_dir%%\dll/YxcopyC:\test\*.exeD:\%%le_dir%%\exe/Y其中le_dir是定义列表中的目录 最佳答案 试试这个(列表在文本文件中):for/f"delims="%%iin(list.txt)do(xcopy"C:\test\*.exe""D:\%%i\exe"/Yxcopy"C:\test\*.dll""D:\%%i\dll"/Y)将目标文件夹放入文本文件l